package GUIs;

import java.awt.event.ActionListener;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

/**
 *
 * @author Tinacho
 */
public class GUI_Principal extends javax.swing.JFrame {

    public GUI_Principal() {
        initComponents();
        this.setExtendedState(MAXIMIZED_BOTH); //MAXIMIZA LA VENTANA
    }
    
   
    // ---------------------------------------------------------
    // ------- Seccion de metodos publicos : Getters
    // ---------------------------------------------------------
    
    /**
     * 
     * @return el valor corriente de la variable 'menuItem_Configuracion'
     */
    public JMenuItem obtenerMI_Configuracion() {
        return this.menuItem_Configuracion;
    }// Fin obtenerMI_Configuracion
   
    
    /**
     * 
     * @return el valor corriente de la variable 'menuItem_nuevoCorredor'
     */    
    public JMenuItem obtenerMI_NuevoCorredor(){
        return this.menuItem_nuevoCorredor;
    }// Fin obtenerMI_NuevoCorredor
    
    
    /**
     * 
     * @return el valor corriente de la variable 'menuItem_modificarCorredor'
     */    
    public JMenuItem obtenerMI_ModificarCorredor(){
        return this.menuItem_modificarCorredor;
    }// Fin obtenerMI_ModificarCorredor
    
    
    /**
     * 
     * @return el valor corriente de la variable 'menuItem_eliminarCorredor'
     */    
    public JMenuItem obtenerMI_EliminarCorredor(){
        return this.menuItem_eliminarCorredor;
    }// Fin obtenerMI_EliminarCorredor 
    
    
    /**
     * 
     * @return el valor corriente de la variable 'menuItem_listarCorredorres'
     */    
    public JMenuItem obtenerMI_ListarCorredores(){
        return this.menuItem_listarCorredores;
    }// Fin obtenerMI_ListarCorredores    
    
    
    /**
     * @brief Setea el titulo de la pista.
     * @param titulo Titulo que aparecera en la pantalla
     */
    public void rellenarTituloPista(String titulo){
        this.label_TituloPista.setText(titulo);
    }
    
    
    /**
     * Metodo encargado de asociar los eventos correspondientes a 
     * los diferentes componentes de la interfaz
     * 
     * @param lis
     */
    public void setActionListeners(ActionListener lis) {    
        // Acciones para menu item Configuracion
        this.menuItem_Configuracion.addActionListener(lis);  
        // Acciones para Corredores
        this.menuItem_nuevoCorredor.addActionListener(lis);  
        this.menuItem_modificarCorredor.addActionListener(lis);
        this.menuItem_eliminarCorredor.addActionListener(lis); 
        this.menuItem_listarCorredores.addActionListener(lis);  
    }
    
    
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        label_TituloPista = new javax.swing.JLabel();
        jMenuBar1 = new javax.swing.JMenuBar();
        menuPrincipal = new javax.swing.JMenu();
        menuItem_Configuracion = new javax.swing.JMenuItem();
        jSeparator1 = new javax.swing.JPopupMenu.Separator();
        menuItem_Salir = new javax.swing.JMenuItem();
        menuCorredores = new javax.swing.JMenu();
        menuItem_nuevoCorredor = new javax.swing.JMenuItem();
        menuItem_modificarCorredor = new javax.swing.JMenuItem();
        menuItem_eliminarCorredor = new javax.swing.JMenuItem();
        menuItem_listarCorredores = new javax.swing.JMenuItem();
        menuAyuda = new javax.swing.JMenu();
        itemMenu_Contacto = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
        setTitle("Automodelismo");

        label_TituloPista.setFont(new java.awt.Font("Copperplate Gothic Bold", 0, 36)); // NOI18N
        label_TituloPista.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

        menuPrincipal.setText("Principal");

        menuItem_Configuracion.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
        menuItem_Configuracion.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/Adjustable_Wrench_Icon_32.png"))); // NOI18N
        menuItem_Configuracion.setText("Configuración Pista");
        menuPrincipal.add(menuItem_Configuracion);
        menuPrincipal.add(jSeparator1);

        menuItem_Salir.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
        menuItem_Salir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/Logout_Icon_32.png"))); // NOI18N
        menuItem_Salir.setText("Salir");
        menuItem_Salir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                menuItem_SalirActionPerformed(evt);
            }
        });
        menuPrincipal.add(menuItem_Salir);

        jMenuBar1.add(menuPrincipal);

        menuCorredores.setText("Corredores");

        menuItem_nuevoCorredor.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
        menuItem_nuevoCorredor.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/Agregar_corredor_32.png"))); // NOI18N
        menuItem_nuevoCorredor.setText("Nuevo");
        menuCorredores.add(menuItem_nuevoCorredor);

        menuItem_modificarCorredor.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
        menuItem_modificarCorredor.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/Modificar_corredor_32.png"))); // NOI18N
        menuItem_modificarCorredor.setText("Modificar");
        menuCorredores.add(menuItem_modificarCorredor);

        menuItem_eliminarCorredor.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
        menuItem_eliminarCorredor.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/Eliminar_corredor_32.png"))); // NOI18N
        menuItem_eliminarCorredor.setText("Eliminar");
        menuCorredores.add(menuItem_eliminarCorredor);

        menuItem_listarCorredores.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
        menuItem_listarCorredores.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/Listar_corredores_32.png"))); // NOI18N
        menuItem_listarCorredores.setText("Listar");
        menuCorredores.add(menuItem_listarCorredores);

        jMenuBar1.add(menuCorredores);

        menuAyuda.setText("Ayuda");

        itemMenu_Contacto.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
        itemMenu_Contacto.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/Phone_Icon_32.png"))); // NOI18N
        itemMenu_Contacto.setText("Contacto");
        itemMenu_Contacto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                itemMenu_ContactoActionPerformed(evt);
            }
        });
        menuAyuda.add(itemMenu_Contacto);

        jMenuBar1.add(menuAyuda);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(label_TituloPista, javax.swing.GroupLayout.DEFAULT_SIZE, 680, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(label_TituloPista, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(409, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void menuItem_SalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_menuItem_SalirActionPerformed
        this.dispose();
    }//GEN-LAST:event_menuItem_SalirActionPerformed

    private void itemMenu_ContactoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemMenu_ContactoActionPerformed
        JOptionPane.showMessageDialog(null,"\n" +
                                   "Versión del Software: 1.0" +
                                   "\n\n " +
                                   "Desarrollador:\n" +
                                   "              Boretto, Martín.\n" +
                                   "\n" +
                                   "Teléfono de contacto:\n" +
                                   "                      0358-154206995\n" +
                                   "\n" +
                                   "Email de Contacto:\n" +
                                   "                  martinboretto@gmail.com",
                                   "Automodelismo",JOptionPane.PLAIN_MESSAGE);
    }//GEN-LAST:event_itemMenu_ContactoActionPerformed

    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(GUI_Principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(GUI_Principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(GUI_Principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(GUI_Principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new GUI_Principal().setVisible(true);
            }
        });
    }
    
   
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenuItem itemMenu_Contacto;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JPopupMenu.Separator jSeparator1;
    private javax.swing.JLabel label_TituloPista;
    private javax.swing.JMenu menuAyuda;
    private javax.swing.JMenu menuCorredores;
    private javax.swing.JMenuItem menuItem_Configuracion;
    private javax.swing.JMenuItem menuItem_Salir;
    private javax.swing.JMenuItem menuItem_eliminarCorredor;
    private javax.swing.JMenuItem menuItem_listarCorredores;
    private javax.swing.JMenuItem menuItem_modificarCorredor;
    private javax.swing.JMenuItem menuItem_nuevoCorredor;
    private javax.swing.JMenu menuPrincipal;
    // End of variables declaration//GEN-END:variables
}
